package com.pai.service.LeaveTicket;



import com.pai.entity.LeaveTicket;

import java.sql.Connection;
import java.util.Date;
import java.util.List;

/**
 * 请假单服务层
 */
public interface LeaveTicketService {
    /**
     * 获取列表
     * @return
     */
    public List<LeaveTicket> getList();

    /**
     * 获取列表
     * @param claId  班级id
     * @param starDate  请假开始时间
     * @param endDate  请假结束时间
     * @return
     */
    public List<LeaveTicket> getList(String claId, Date starDate, Date endDate);


        /**
         * 获取请假单列表（学生）
         * @param stuId  学生id
         * @return
         */
    public List<LeaveTicket> getListStu(String stuId);

    /**
     * 获取请假单列表（辅导员）
     * @param colId  辅导员id
     * @return
     */
    public List<LeaveTicket> getListCol(String colId);


        /**
         * 获取列表
         * @param depType 部门类型： 0：学院 1：学工处 2：班级
         * @return
         */
    public List<LeaveTicket> getList(String depType);

    /**
     * 获取班级部门列表
     * @param depId  父级部门id
     * @return
     */
    public List<LeaveTicket> getDepClassList(String depId) ;

    /**
     * 获取项详情
     * @param id
     * @return
     */
    public LeaveTicket getItemDetail(String id);

    /**
     * 获取项详情
     * @param depName  部门名称
     * @param depType  部门类型
     * @return
     * @throws Exception
     */
    public LeaveTicket getItemDetail(String depName, String depType);

    /**
     * 新增
     * @param item
     * @return
     */
    public boolean add(LeaveTicket item);



    /**
     * 更新
     * @param item
     * @return
     */
    public boolean update(LeaveTicket item);

    /**
     * 删除
     * @param id
     * @return
     */
    public boolean delete(String id);

    /**
     * 生成请假单号
     * @param date
     * @return
     */
    public String generateLeaveNo(Date date);
}
